1.2.7.1 类
类定义格式如下:
class <类名>:
类体
类中除了定义函数,还可以包含其他语句。一个类中的函数定义通常有一个特殊的参数列表形式,以在类外调用这个函数。
1.2.7.2 类对象
类支持两种操作:属性引用和实例化。
属性引用
调用类的属性:obj.name,name是类中定义的变量或函数的名字。
示例:
class MyClass:
i=12345
def f(self):
print("hello world")
上面示例中MyClass.i和MyClass.f是有效的属性引用,分别引用一个整数和一个函数。
类实例化
示例:
x = MyClass()
上面的示例,创建该类的新实例并将对象分配给本地变量x。
一个类可以定义一个名为init()的特殊方法。
示例:
def __init__(self, data):
self.data=23
当一个类定义了一个init()方法时,类会自动调用init()新创建的类实例。可以通过x=MyClass()
的方式获得。在这种情况下,赋予类实例化的参数被传递给init()。
示例:
>>> class ComplexClass:
... def __inis__(self, r, i):
... self.r = r
... self.i = i
... print(self.r + self.i)
...
...
...
>>> x = ComplexClass(3, 6)
9
>>> x.r, x.i
(3, 6)
实例对象
示例:
class Complex:
def __init__(self, r, i):
self.r = r
self.i = i
print(self.r + self.i)
x = Complex(3, 6)
x.counter = 1
while x.counter < 10:
print("hello",x.counter)
x.counter = x.counter * 2
print(x.counter)
del x.counter
运行结果:
9
hello 1
hello 2
hello 4
hello 8
16